###### Exercicio 7.1#######

#dados
alt.2anos<-c(39,30,32,34,35,36,36,30)
alt.adulto<-c(71,63,63,67,68,68,70,64)
alturas<-data.frame(alt.2anos,alt.adulto)
#anlise exploratria
str(alturas)
#gerar uma regresso
alturas.lm<-lm(alt.adulto~alt.2anos, data=alturas)

#resultados
anova(alturas.lm)
summary(alturas.lm)
coef(alturas.lm)
#a relaao  significativa com r^2=0,89 e p<0,01
#intervalo de confiana
alturas.conf=confint(alturas.lm)

#Visualizaao
plot(alt.adulto~alt.2anos, data=alturas)
abline(alturas.lm, col="blue")

#####Modelo esperado pela crena
#segundo o modelo esperado pela crena  necessrio duplicar a altura aos dois anos de idade
#para descobrir a altura na vida adulta
#logo alt.2anos*2
alturas$crenca<-alt.2anos*2
head(alturas)
#se o modelo esperado pela crena estiver correto, a altura adulta deve ser parecida com os 
#os valores previstos pela crena que prediz que a altura do adulto  duas vezes a altura de
#quando a criaa tem dois anos

modelo.crenca<-lm(alt.adulto~crenca, data=alturas)
plot(alt.adulto~crenca, data=alturas)
abline(modelo.crenca, col="red")
summary(modelo.crenca)
plot(modelo.crenca)
coef(modelo.crenca)
confint(modelo.crenca)
#para a previso ser correta a altura do adulto deve ser explicada pelo dobro da altura da 
#criana quando ela tinha dois anos. Deste modo, correlacionei a expectativa (crena) como variavel
#preditora da altura do adulto. Encontrei que de fato, a crena est correta j que a crena 
#explica 89% da altura do adulto com valor de prova significatico p<0,001. Tanto o coeficiente
#angular quanto o intercepto esto dentro do intervalo de confiana previsto pelo modelo terico.

###### Exercicio 7.2#######

library(MASS)
data(Animals)
anim.m2 <- lm(log(brain)~log(body),data=Animals, 
              subset=!(log(Animals$body)>8&log(Animals$brain)<6))

anim.m0 <- lm(log(brain)~1, data=Animals, 
              subset=!(log(Animals$body)>8&log(Animals$brain)<6))

anova(anim.m0)

anova(anim.m0,anim.m2)

anova(anim.m2)

#1. A relaao desses comandos  que no primeiro ele compara os valores
#	dos resduos (desvio quadraticos/grau de liberdade e desvios mdios
#	entre o modelo nulo dado por anim.m0, ou seja devido a ausncia de interao;


summary(anim.m0)
mean(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))
sd(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))

#2. Quando plotamos os valores do eixo y em funao de um valor
#	igual a 1, queremos saber o modelo nulo. O valor do intecepto desse
#	modelo nulo  equivalente a mdia do eixo, dado por um valor a=0, isto  uma reta
#	sem nenhuma inclinao ao eixo x. Os valores de desvio padro da variavel 
#	dependente so equivalentes aos residuos gerado pelos dados da varivel
#	dependente.


####### Exerccio 7.3#########

iris
iris.setosa<-iris[iris$Species=="setosa",]
lm.iris<-lm(Sepal.Width~Sepal.Length, data=iris.setosa)
lm.iris.coef<-coef(lm.iris)
str(lm.iris.coef)
head(iris.setosa)
summary(lm.iris)

# 1 e 2. O modelo difere do modelo nulo apresenta um valor de prova p<0,005, sendo que o comprimento
# da sepala explica cerca de 55% dos valores do comprimento da spala. Esses valores atendem as 
# premissas da anlise de homogeneidade dos resduos. Sendo que os valores do coeficiente angular
# e do intercepto esto dentro do intervalo de confina do modelo.


#3. Crie um objeto chamado lm.iris.nopetal que contenha a mesma regresso, mas descontando do 
# efeito do comprimento da ptala de cada varivel. Crie tambm um objeto contendo os 
# coeficientes (intercepto e inclinao) desse novo modelo, chamado lm.iris.nopetal.coef.


# Se de fato, o comprimento das petalas tem algum efeito  no comprimento e na largura das spalas
# temos que testar:
ef.largura<-lm(Sepal.Width~Petal.Length, data=iris.setosa)
ef.comprim<-lm(Sepal.Length~Petal.Length, data=iris.setosa)
anova(ef.largura)
anova(ef.comprim)      
res.ef.largura<-residuals(ef.largura)
res.ef.comprim<-residuals(ef.comprim)
lm.iris.nopetal<-lm(res.ef.largura~res.ef.comprim)
summary(lm.iris.nopetal)
lm.iris.nopetal.coef<-coef(lm.iris.nopetal)

# a percentagem de variaao explicada por cada modelo  de 48%, houve uma diminuiao de 7% depois 
# que removemos o efeito do comprimento da spala.

################ Exercicio 7.4###################

 #Pressso e temperatura

pressure
p<-pressure$pressure
t<-pressure$temperature
str(t)
# A relaao entre essas variveis no parece linear!
reg1<-lm(p~t)

# Equaao da parabola  dado por y=a+bx+cx
# o uso da funo insulate i()
reg2<-lm(p~t+I(t^2))
reg3<-lm(p~t+I(t^2)+I(t^3))
anova(reg1,reg2, reg3)

summary(reg1)
summary(reg2)
summary(reg3)

str(summary(reg3))

r2<-summary(reg3)$r.squared
r2


####################7.5###########################

aves<-read.table("aves_cerrado.csv", header=T, sep=";")
#1 H relaao entre o numero de avistamentos de siriema e carcars em alguma das fisionomias?
#2. H diferenas na relaao entre o numero de avistamentos de siriemas e carcaras entre as 
#fisionomias do cerrado?

#conferncia e ajuste dos dados no data.frame
head(aves)
tail(aves)
str(aves)
summary(aves)
aves$fisionomia[aves$fisionomia=="ce"]<-"Ce"
table(aves$fisionomia)
unique(aves$fisionomia)
aves$fisionomia<-factor(aves$fisionomia, levels=c("CL", "CC", "Ce"))
is.na(aves)
aves$urubu[is.na(aves$urubu)]<-0
aves$carcara[is.na(aves$carcara)]<-0
aves$seriema[is.na(aves$seriema)]<-0

#Modelos lineares
mod.ce<-lm(seriema~carcara, subset=fisionomia=="Ce", data=aves)
str(summary(mod.ce))
p.ce<-summary(mod.ce)$coefficients[2,4]
coef.ce<-coef(mod.ce)


mod.cc<-mod.cc<-lm(seriema~carcara, subset=fisionomia=="CC", data=aves)
p.cc<-summary(mod.cc)$coefficients[2,4]
coef.cc<-coef(mod.cc)


mod.cl<-lm(seriema~carcara, subset=fisionomia=="CL", data=aves)
p.cl<-summary(mod.cl)$coefficients[2,4]
coef.cl<-coef(mod.cl)